package chapter04;

import java.util.Scanner;

/**
 * ClassName: ForTest2
 * Package: capter03
 * Description:
 *练习：输入两个正整数m和n，求其最大公约数和最小公倍数。
 *      比如：12和20的最大公约数是4，最小公倍数是60。
 * @Author 安思宇
 * @Create 2024/10/1 11:12
 */
public class ForTest2 {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入一个正整数：");
        int num1=scan.nextInt();
        System.out.println("请再输入一个正整数：");
        int num2=scan.nextInt();
        //最大公约数m：
//        if(num1<num2){
//            min=num1;
//        }else {
//            min=num2;
//        }
//        int temp_m=1;
        int min =(num1<num2)?num1:num2;
        /*方式一：
        for(int i=1;i<=min;i++){
            if(num1%i==0&&num2%i==0){
                temp_m=i;//公约数
//                if(m<temp_m){
//                    m=temp_m;//最大公约数，这部分不需要，因为i会一直自增，最后一个约数自然是最大的。
//                }
            }
          */
//        方式二：
        for(int i=min;i>=1;i--){
            if(num1%i==0&&num2%i==0){
                System.out.println("最大公约数为："+i);
                break;
            }
        }
        //最小公倍数n：
        int max =(num1>num2)?num1:num2;

        for(int i=max ;i<=num1*num2;i++){
            if(i % num1 == 0 && i % num2 == 0){
                System.out.println("最小公倍数是：" + i);//公倍数
                break;
            }
        }
        scan.close();

    }
}
